package com.asgard.crypto;

/**
 * 该类封装了校验结果。
 */
public class VerifyResult {

    /**
     * 校验成功
     */
    public static final VerifyResult RESULT_SUCCESS = new VerifyResult(true, null);

    /**
     * 是否成功
     */
    public final boolean isSuccess;
    /**
     * 错误消息
     */
    public final String errorMsg;

    /**
     * 构造函数。
     *
     * @param isSuccess 是否成功
     * @param errorMsg  错误消息
     */
    private VerifyResult(boolean isSuccess, String errorMsg) {
        this.isSuccess = isSuccess;
        this.errorMsg = errorMsg;
    }

    /**
     * 构建校验结果：成功。
     *
     * @return 成功
     */
    public static VerifyResult success() {
        return RESULT_SUCCESS;
    }

    /**
     * 构建校验结果：失败。
     *
     * @param errorMsg 错误消息
     * @return 失败
     */
    public static VerifyResult fail(String errorMsg) {
        return new VerifyResult(false, errorMsg);
    }

}
